Kod polimorf

Dalam terminologi komputer, kod polimorf merupakan kod yang mutasi tetapi mengekalkan algoritma asal. Teknik ini kadang-kala digunakan oleh virus komputer, kod kerangka (shellcode) dan cecacing komputer bagi menyembunyikan kehadiran mereka. Kebanyakan perisian anti-virus dan sistem pengesanan pencerobohan (intrusion detection system) cuba untuk mengesan kod jahat dengan menapis fail komputer dan paket data yang dihantar menerusi jaringan komputer. Sekiranya perisian keselamatan menjumpai pola yang sama dengan virus komputer atau cecacing yang dikenali, ia mengambil langkah sewajarnya bagi menangani ancaman tersebut. Algoritma polimorf menjadikannya sukar bagi perisian sebegini bagi mencari kod tersebut kerana ia sentiasa berubah.Penyulitan merupakan kaedah paling banyak digunakan bagi mencapai polimorf bagi kod. Bagaimanapun, bukan semua kod boleh disulitkan kerana ia akan menjadikannya tidak boleh digunakan langsung. Sebahagian kecil darinya kekal tidak disulitkan dan digunakan bagi memulakan perisian penyahsulitan. Perisian anti-virus mensasarkan kod kecil yang tidak disulitkan ini.Pengaturcara berniat jahat cuba melindungi kod polimorf dari strategi pengimbasan virus dengan menulis semula enjin yang tidak disulitkan setiap kali virus atau cecacing membiak. Perisian anti-virus menggunakan penganalisa pola rumit bagi mencari pola dasar dalam pelbagai mutasi enjin penyahsulit yang berlainan, dengan harapan dapat mengesan perisian perosak (malware) sebegini.Virus polimorf pertama yang diketahui ditulis oleh oleh Mark Washburn. Virus ini dikenali sebagai virus komputer 1260, ditulis pada 1990. Virus polimorf yamh lebih terkenal dicipta pada 1992 oleh seorang perekah keselamatan (security cracker) Bulgaria yang menggunakan nama samaran (pseudonym) Dark Avenger sebagai cara mengelakkan pengecaman pola oleh perisian anti-virus.